package org.example.backend.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;

/**
 * 壁纸主表
 * @TableName wallpapers
 */
@TableName(value ="wallpapers")
@Data
public class Wallpapers {
    /**
     * 壁纸ID，主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 壁纸标题
     */
    @TableField(value = "title")
    private String title;

    /**
     * 壁纸详细描述
     */
    @TableField(value = "description")
    private String description;

    /**
     * 壁纸文件URL
     */
    @TableField(value = "file_url")
    private String file_url;

    /**
     * 缩略图URL
     */
    @TableField(value = "thumbnail_url")
    private String thumbnail_url;

    /**
     * 文件大小(字节)
     */
    @TableField(value = "file_size")
    private Integer file_size;

    /**
     * 文件格式(jpg/png/webp)
     */
    @TableField(value = "file_format")
    private String file_format;

    /**
     * 宽度(像素)
     */
    @TableField(value = "width")
    private Integer width;

    /**
     * 高度(像素)
     */
    @TableField(value = "height")
    private Integer height;

    /**
     * 生成的宽高比(如"16:9")
     */
    @TableField(value = "aspect_ratio")
    private String aspect_ratio;

    /**
     * 下载次数统计
     */
    @TableField(value = "download_count")
    private Integer download_count;

    /**
     * 浏览次数统计
     */
    @TableField(value = "view_count")
    private Integer view_count;

    /**
     * 点赞数统计
     */
    @TableField(value = "like_count")
    private Integer like_count;

    /**
     * 是否付费壁纸(0:免费,1:付费)
     */
    @TableField(value = "is_premium")
    private Integer is_premium;

    /**
     * 上传用户ID
     */
    @TableField(value = "uploader_id")
    private Long uploader_id;

    /**
     * 创建时间
     */
    @TableField(value = "created_at")
    private Date created_at;

    /**
     * 更新时间(自动更新)
     */
    @TableField(value = "updated_at")
    private Date updated_at;

    /**
     * 状态(0:下架,1:上架,2:待审核)
     */
    @TableField(value = "status")
    private Integer status;
}